
"""
Fish

Various sea creatures.
"""

import directions
from baseClasses import MovableItem
from point import *

# TODO: Find some way to "register" new kinds of fish 
#        (metaclass? special __init__/__new__?)

class SeaCreature(MovableItem):
    """
    Base class of all swimming animals.
    """
    def __init__(self, ocean, initLoc=Point(0.0, 0.0), initDir=directions.North):
        super(SeaCreature, self).__init__(self, ocean, initLoc, initDir)

class Shark(SeaCreature):
    """
    Eats swimming pirates.
    """
    def __init__(self, ocean, initLoc=Point(0.0, 0.0), initDir=directions.North):
        super(SeaCreature, self).__init__(self, ocean, initLoc, initDir)

    def getMaxMove(self, direction):
        pass

    def getAutoMove(self):
        pass

    def getPotentialMoves(self):
        pass

    def validatePlot(self):
        pass

class Dolphin(SeaCreature):
    """
    Helps swimming pirates.  Also fends off sharks.
    """
    def __init__(self, ocean, initLoc=Point(0.0, 0.0), initDir=directions.North):
        super(SeaCreature, self).__init__(self, ocean, initLoc, initDir)

    def getMaxMove(self, direction):
        pass

    def getAutoMove(self):
        pass

    def getPotentialMoves(self):
        pass

    def validatePlot(self):
        pass


class SeaTurtle(SeaCreature):
    """
    Can be used as a raft.
    """
    def __init__(self, ocean, initLoc=Point(0.0, 0.0), initDir=directions.North):
        super(SeaCreature, self).__init__(self, ocean, initLoc, initDir)

    def getMaxMove(self, direction):
        pass

    def getAutoMove(self):
        pass

    def getPotentialMoves(self):
        pass

    def validatePlot(self):
        pass

